/**
 * @description 时间格式化
 * @param { date | string | number | undefined } date 时间戳，时间对象，时间字符串，（undefied | 0 | NaN | '' - 代表当前时间）
 * @param { string } format 格式化形式参考 http://momentjs.cn/docs/ 年份、月份、日期的令牌 eg. YYYY-MM-DD HH:mm:ss
 * @param { boolean | undefined} addZero  true - 数字不足10时补0，如：2020-6-8 —— 2020-06-08
 */
export const formatDate = (date?: Date | string | number, format = 'YYYY-MM-DD', addZero?: boolean, addTimeZero?: boolean) => {
  let result = ''
  let tempDate: Date

  if (typeof date === 'object') {
    tempDate = date
  } else {
    tempDate = !date ? new Date() : new Date(date)
  }

  if (/(Y+)/.test(format)) {
    result = format.replace(RegExp.$1, `${tempDate.getFullYear()}`)
  } else {
    result = format
  }

  const month = tempDate.getMonth() + 1
  const day = tempDate.getDate()
  const hours = tempDate.getHours()
  const minutes = tempDate.getMinutes()
  const seconds = tempDate.getSeconds()
  const prefix = addZero ? '0' : ''
  const timePreFix = addTimeZero ? '0' : ''
  const tokens: Record<string, string> = {
    'M+': `${month < 10 ? `${prefix}${month}` : month}`,
    'D+': `${day < 10 ? `${prefix}${day}` : day}`,
    'H+': `${hours < 10 ? `${prefix || timePreFix}${hours}` : hours}`,
    'm+': `${minutes < 10 ? `${prefix || timePreFix}${minutes}` : minutes}`,
    's+': `${seconds < 10 ? `${prefix || timePreFix}${seconds}` : seconds}`
  }

  Object.keys(tokens).forEach(key => {
    if (new RegExp(`(${key})`).test(format)) {
      result = result.replace(RegExp.$1, (tokens)[key])
    }
  })

  return result
}

/**
 * @description 简单的活动说明格式处理
 * @param {*} desc
 * @returns
 */
export function activityDescTransfer(desc: string) {
  let result = desc.replace(/\n/g, '<br/>')
  result = result.replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>')
  result = result.replace(/ /g, '&nbsp;')
  return result
}

export function abc() {

}

